<?php
include_once 'Noticia.php';
include_once 'Conexion.php';
include_once 'FechasNoticia.php';

class GestionNoticias {   
    public function crearNoticia($noticia){   
        try{        
        $query = "INSERT INTO noticia VALUES (NULL, '".$noticia->getNombre()."', '".$noticia->getContenido()."', now(), '1');";        
        $query = Conectar($query);   
        }catch(Exception $e)
        {
            return "Ocurrio un error en la insercion";
        }
    }    
    
    public function getListaUltimasNoticia() {
        try{        
            $query = "SELECT * FROM `noticia` order by FECHA DESC limit 10";        
            $query = Conectar($query);   
            $num     = mysql_num_rows($query);
            if ($num==0)
            {
                throw new Exception ("No hay noticias");
            }
            else
            {     
                $listaNoticia = array();
                while ($row = mysql_fetch_assoc($query))
                {
                $noticia = new Noticia();
                $noticia->setNombre($row['NOMBRE']);
                $noticia->setContenido($row['CONTENIDO']);
                $noticia->setFecha($row['FECHA']);
                $noticia->setNotica_id($row['ID']);
                $listaNoticia[]=$noticia;
                }
                return $listaNoticia;
        }
        }catch(Exception $e)
        {
            return "ERROR";
        }
    }

    public function getNoticiasPorMes($mes) {
        try{        
        $query = "SELECT * FROM `noticia` WHERE FECHA BETWEEN '".$mes."-01' AND '".$mes."-31' limit 10";
        $query = Conectar($query);   
        $num     = mysql_num_rows($query);
        if ($num==0)
        {
            throw new Exception ("No hay noticias");
        }
        else
        {     
            $listaNoticia = array();
            while ($row = mysql_fetch_assoc($query))
            {
               $noticia = new Noticia();
               $noticia->setNombre($row['NOMBRE']);
               $noticia->setContenido($row['CONTENIDO']);
               $noticia->setFecha($row['FECHA']);
               $noticia->setNotica_id($row['ID']);
               $listaNoticia[]=$noticia;
            }
            return $listaNoticia;
        }
        }catch(Exception $e)
        {
            return "Ocurrio un error en la Consulta";
        }
    }
    
    public function getNoticaPorId($id) {
        try{        
            $query = "SELECT * FROM `noticia` WHERE `ID`=".$id." limit 10";        
            $query = Conectar($query);  
            $num     = mysql_num_rows($query);
            if ($num==0)
            {
                throw new Exception ("No hay noticias");
            }
            else
            {
                $row = mysql_fetch_assoc($query);
                $noticia = new Noticia();
                $noticia->setNombre($row['NOMBRE']);
                $noticia->setContenido($row['CONTENIDO']);
                $noticia->setFecha($row['FECHA']);
                $noticia->setNotica_id($row['ID']);                
                return $noticia;
            } 
        }catch(Exception $e)
        {
            return "Ocurrio un error en la Busqueda";
        }
    }

    public function getMesesConNoticas() {
         try{        
            $query = "SELECT distinct month(fecha) mes,year(fecha) year FROM `noticia` group by fecha limit 10";        
            $query = Conectar($query);  
            $num     = mysql_num_rows($query);
            if ($num==0)
            {
                throw new Exception ("No hay noticias");
            }
            else
            {
                $listaFechas = array();
                while ($row = mysql_fetch_assoc($query)){
                    $Fechanoticia = new FechasNoticia();
                    $Fechanoticia->setMes($row['mes']);
                    $Fechanoticia->setYear($row['year']);
                    $listaFechas[] = $Fechanoticia;
                }
                return $listaFechas;
            } 
        }catch(Exception $e)
        {
            return "Ocurrio un error en la Busqueda";
        }
    }
}
?>
